Lambda calculus with patterns
نویسندگان
چکیده
The -calculus is an extension of the -calculus with a pattern matching facility. The form of the argument of a function can be speci ed and hence -calculus is more convenient than ordinary -calculus. We explore the basic theory of -calculus, establishing results such as con uence. In doing so, we nd some requirements for patterns that guarantee con uence. Our work can be seen as giving some foundations for implementations of functional programming languages.
منابع مشابه
Rewriting Calculus with(out) Types
The last few years have seen the development of a new calculus which can be considered as an outcome of the last decade of various researches on (higher order) term rewriting systems, and lambda calculi. In the Rewriting Calculus (or Rho Calculus, ρCal), algebraic rules are considered as sophisticated forms of “lambda terms with patterns”, and rule applications as lambda applications with patte...
متن کاملThe arrow calculus
We introduce the arrow calculus, a metalanguage for manipulating Hughes’s arrows with close relations both to Moggi’s metalanguage for monads and to Paterson’s arrow notation. Arrows are classically defined by extending lambda calculus with three constructs satisfying nine (somewhat idiosyncratic) laws; in contrast, the arrow calculus adds four constructs satisfying five laws (which fit two wel...
متن کاملA Framework for Defining Logical Frameworks
In this paper, we introduce a General Logical Framework, called GLF, for defining Logical Frameworks, based on dependent types, in the style of the well known Edinburgh Logical Framework LF. The framework GLF features a generalized form of lambda abstraction where β-reductions fire provided the argument satisfies a logical predicate and may produce an n-ary substitution. The type system keeps t...
متن کاملConfluence of Pattern-Based Calculi
Different pattern calculi integrate the functional mechanisms from the λ-calculus and the matching capabilities from rewriting. Several approaches are used to obtain the confluence but in practice the proof methods share the same structure and each variation on the way patternabstractions are applied needs another proof of confluence. We propose here a generic confluence proof where the way pat...
متن کاملHigher-Order Patterns
The higher-order pattern calculus supports patterns as inputs and outputs, just as higher-order functional languages support functions. The resulting pattern polymorphic functions take arguments for both patterns, which describe where the data is, and functions, which describe how to act on data. The calculus is strongly-typed and reduction is type-safe and confluent.
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Theor. Comput. Sci.
دوره 398 شماره
صفحات -
تاریخ انتشار 2008